package com.grj.parking.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 充电计费策略表
 * @TableName ev_price_strategy
 */
@TableName(value ="ev_price_strategy")
@Data
public class EvPriceStrategy implements Serializable {
    /**
     * 策略ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 租户ID
     */
    @TableField(value = "tenant_id")
    private Long tenantId;

    /**
     * 停车场ID
     */
    @TableField(value = "parking_id")
    private Long parkingId;

    /**
     * 策略名称（如"平日白天快充价"）
     */
    @TableField(value = "strategy_name")
    private String strategyName;

    /**
     * 适用充电桩类型：FAST-快充，SLOW-慢充，ALL-全部
     */
    @TableField(value = "charger_type")
    private String chargerType;

    /**
     * 电费单价（元/kWh）
     */
    @TableField(value = "energy_price")
    private BigDecimal energyPrice;

    /**
     * 服务费单价（元/kWh）
     */
    @TableField(value = "service_price")
    private BigDecimal servicePrice;

    /**
     * 时段类型：ALL-全天，PEAK-峰时，FLAT-平时，VALLEY-谷时
     */
    @TableField(value = "time_type")
    private String timeType;

    /**
     * 开始小时（0-23，如8表示8:00）
     */
    @TableField(value = "start_hour")
    private Integer startHour;

    /**
     * 结束小时（0-23，如22表示22:00）
     */
    @TableField(value = "end_hour")
    private Integer endHour;

    /**
     * 适用星期（1-7，逗号分隔，如"1,2,3,4,5"表示工作日）
     */
    @TableField(value = "week_days")
    private String weekDays;

    /**
     * 是否默认策略：1-是，0-否
     */
    @TableField(value = "is_default")
    private Integer isDefault;

    /**
     * 状态：ACTIVE-生效，INACTIVE-未生效
     */
    @TableField(value = "status")
    private String status;

    /**
     * 
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 
     */
    @TableField(value = "update_time")
    private Date updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}